package com.tansun.easycare.rule.common.symbol;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.tansun.easycare.rule.common.model.BaseBean;

/**
 * 操作符管理
 *
 * @author WY
 */
public class SymbolCreator {

    public static List<Symbol> listSymbol = new ArrayList<Symbol>();
    public static List<Symbol> j2dSymbols = new ArrayList<Symbol>();
    public static final String PARAM_FLAG="[PARAM]";
    public static final String VAL_FLAG="[VAL]";
    public static String initSymbolGuide() {
        //List list = new ArrayList<Symbol>();
        SymbolGuide sg = new SymbolGuide();
        sg.setSemi(initsemi());
        sg.setMeth(initmeth());
        sg.setLogi(initlogi());
        sg.setMhlg(initmhlg());
        sg.setStri(initstri());
        sg.setSetv(initsetv());
        sg.setObjt(initobjt());
        sg.setColl(initColl());
        sg.setList(initlist());
        sg.setDate(initdate());


        return JSON.toJSONString(sg);
    }

    public static Symbol getSymbolById(String id) {
        if (listSymbol.size() == 0) {
            listSymbol.addAll(initsemi());
            listSymbol.addAll(initmeth());
            listSymbol.addAll(initlogi());
            listSymbol.addAll(initmhlg());
            listSymbol.addAll(initstri());
            listSymbol.addAll(initsetv());
            listSymbol.addAll(initobjt());
            listSymbol.addAll(initColl());
            listSymbol.addAll(initlist());
            listSymbol.add(initDeclare());
            listSymbol.addAll(initdate());

        }
        for (Symbol symbol : listSymbol) {
            if (symbol.getId().equals(id)) {
                return symbol;
            }
        }
        return null;
    }
	
    public static Symbol getSymbolById(String id,String symType) {
        if (listSymbol.size() == 0) {
            listSymbol.addAll(initsemi());
            listSymbol.addAll(initmeth());
            listSymbol.addAll(initlogi());
            listSymbol.addAll(initmhlg());
            listSymbol.addAll(initstri());
            listSymbol.addAll(initsetv());
            listSymbol.addAll(initobjt());
            listSymbol.addAll(initColl());
            listSymbol.addAll(initlist());
            listSymbol.add(initDeclare());
            listSymbol.addAll(initdate());

        }
        for (Symbol symbol : listSymbol) {
            if (symbol.getId().equals(id)&&symbol.getSymType().equals(symType)) {
                return symbol;
            }
        }
        return null;
    }
	
    public static Symbol initDeclare() {
        //plus | - | minus | * | times | / | div | divided by | mod
        //String plus = ": + :plus:sym:meth: + ";
        Symbol symbol = new Symbol();
        symbol.setId("pe2qwwsH");
        symbol.setLabel(" = ");
        symbol.setName("declare");
        symbol.setType(BaseBean.TYPE_SYMBOL);
        symbol.setSymType(SymbolGuide.SYMTYP_DECLARE);
        symbol.setDrlSymbol(" = ");
        symbol.setJavaSymbol(" = ");
        symbol.setChangeSite(false);
        return symbol;
    }

    public static List<Symbol> initmeth() {
        //plus | - | minus | * | times | / | div | divided by | mod
        //String plus = ": + :plus:sym:meth: + ";
        Symbol symbolPlus = new Symbol();
        symbolPlus.setId("pebqFwsH");
        symbolPlus.setLabel(" + ");
        symbolPlus.setName("plus");
        symbolPlus.setType(BaseBean.TYPE_SYMBOL);
        symbolPlus.setSymType(SymbolGuide.SYMTYP_METH);
        symbolPlus.setDrlSymbol(" + ");
        symbolPlus.setJavaSymbol(" + ");
        symbolPlus.setChangeSite(false);
        
        Symbol symbolMinus = new Symbol();
        symbolMinus.setId("NSomzDlO");
        symbolMinus.setLabel(" - ");
        symbolMinus.setName("mins");
        symbolMinus.setType(BaseBean.TYPE_SYMBOL);
        symbolMinus.setSymType(SymbolGuide.SYMTYP_METH);
        symbolMinus.setDrlSymbol(" - ");
        symbolMinus.setJavaSymbol(" - ");
        symbolMinus.setChangeSite(false);
        
        Symbol symbolTimes = new Symbol();
        symbolTimes.setId("SHHjP7J6");
        symbolTimes.setLabel(" * ");
        symbolTimes.setName("times");
        symbolTimes.setType(BaseBean.TYPE_SYMBOL);
        symbolTimes.setSymType(SymbolGuide.SYMTYP_METH);
        symbolTimes.setDrlSymbol(" * ");
        symbolTimes.setJavaSymbol(" * ");
        symbolTimes.setChangeSite(false);
        
        Symbol symbolDivs = new Symbol();
        symbolDivs.setId("5FOPlhmB");
        symbolDivs.setLabel(" / ");
        symbolDivs.setName("divs");
        symbolDivs.setType(BaseBean.TYPE_SYMBOL);
        symbolDivs.setSymType(SymbolGuide.SYMTYP_METH);
        symbolDivs.setDrlSymbol(" / ");
        symbolDivs.setJavaSymbol(" / ");
        symbolDivs.setChangeSite(false);
        
        Symbol symbolMod = new Symbol();
        symbolMod.setId("feALEdvB");
        symbolMod.setLabel(" % ");
        symbolMod.setName("mod");
        symbolMod.setType(BaseBean.TYPE_SYMBOL);
        symbolMod.setSymType(SymbolGuide.SYMTYP_METH);
        symbolMod.setDrlSymbol(" % ");
        symbolMod.setJavaSymbol(" % ");
        symbolMod.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolPlus);
        list.add(symbolMinus);
        list.add(symbolTimes);
        list.add(symbolDivs);
        list.add(symbolMod);

        return list;//JSON.toJSONString(list);

    }

    public static List<Symbol> initsemi() {
        //plus | - | minus | * | times | / | div | divided by | mod
        //String plus = ": + :plus:sym:meth: + ";
        Symbol symbolSemi = new Symbol();
        symbolSemi.setId("pebqQwsH");
        symbolSemi.setLabel(" ; ");
        symbolSemi.setName("semi");
        symbolSemi.setType(BaseBean.TYPE_SYMBOL);
        symbolSemi.setSymType(SymbolGuide.SYMTYP_SEMICOLON);
        symbolSemi.setDrlSymbol(" ; ");
        symbolSemi.setJavaSymbol(" ; "); 
        symbolSemi.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();

        list.add(symbolSemi);

        return list;//JSON.toJSONString(list);

    }

    public static List<Symbol> initobjt() {
        //plus | - | minus | * | times | / | div | divided by | mod
        //String plus = ": + :plus:sym:meth: + ";
        Symbol symbolnExsit = new Symbol();
        symbolnExsit.setId("p4bqQwsH");
        symbolnExsit.setLabel(" 不等于 ");
        symbolnExsit.setName("nequal");
        symbolnExsit.setType(BaseBean.TYPE_SYMBOL);
        symbolnExsit.setSymType(SymbolGuide.SYMTYP_OBJECT);
        symbolnExsit.setDrlSymbol(" != ");
        symbolnExsit.setJavaSymbol("!"+PARAM_FLAG+".equals("+VAL_FLAG+")");
        symbolnExsit.setChangeSite(true);
        
        Symbol symbolyExsit = new Symbol();
        symbolyExsit.setId("peyqQwsH");
        symbolyExsit.setLabel(" 等于 ");
        symbolyExsit.setName("equal");
        symbolyExsit.setType(BaseBean.TYPE_SYMBOL);
        symbolyExsit.setSymType(SymbolGuide.SYMTYP_OBJECT);
        symbolyExsit.setDrlSymbol(" == ");
        symbolyExsit.setJavaSymbol(PARAM_FLAG+".equals("+VAL_FLAG+")");
        symbolyExsit.setChangeSite(true);
        List<Symbol> list = new ArrayList<Symbol>();

        list.add(symbolnExsit);
        list.add(symbolyExsit);

        return list;//JSON.toJSONString(list);

    }

    public static List<Symbol> initlogi() {

        Symbol symbolAnd = new Symbol();
        symbolAnd.setId("a0CmtiaT");
        symbolAnd.setLabel(" 和 ");
        symbolAnd.setName("and");
        symbolAnd.setType(BaseBean.TYPE_SYMBOL);
        symbolAnd.setSymType(SymbolGuide.SYMTYP_LOGIC);
        symbolAnd.setDrlSymbol(" && ");
        symbolAnd.setJavaSymbol(" &&\n\t\t ");
        symbolAnd.setChangeSite(false);
        
        Symbol symbolOr = new Symbol();
        symbolOr.setId("LfqeCVEt");
        symbolOr.setLabel(" 或 ");
        symbolOr.setName("or");
        symbolOr.setType(BaseBean.TYPE_SYMBOL);
        symbolOr.setSymType(SymbolGuide.SYMTYP_LOGIC);
        symbolOr.setDrlSymbol(" || ");
        symbolOr.setJavaSymbol(" ||\n\t\t ");
        symbolOr.setChangeSite(false);
        
        Symbol symbolReverse = new Symbol();
        symbolReverse.setId("1vcjnzhs");
        symbolReverse.setLabel(" 取反 ");
        symbolReverse.setName("reverse");
        symbolReverse.setType(BaseBean.TYPE_SYMBOL);
        symbolReverse.setSymType(SymbolGuide.SYMTYP_LOGIC);
        symbolReverse.setDrlSymbol(" ! ");
        symbolReverse.setJavaSymbol(" ! ");
        symbolReverse.setChangeSite(false);

        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolAnd);
        list.add(symbolOr);
        list.add(symbolReverse);

        return list;
    }

    public static List<Symbol> initstri() {

//		contains
//		==""
//		~=
        Symbol symbolContains = new Symbol();
        symbolContains.setId("FhmupTlH");
        symbolContains.setLabel(" 包含 ");
        symbolContains.setName("contains");
        symbolContains.setType(BaseBean.TYPE_SYMBOL);
        symbolContains.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolContains.setDrlSymbol(" contains ");
        symbolContains.setJavaSymbol(PARAM_FLAG+".contains("+VAL_FLAG+")");
        symbolContains.setChangeSite(true);
        
        Symbol symbolEqual = new Symbol();
        symbolEqual.setId("dQ7n6haq");
        symbolEqual.setLabel(" 等于 ");
        symbolEqual.setName("equal");
        symbolEqual.setType(BaseBean.TYPE_SYMBOL);
        symbolEqual.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolEqual.setDrlSymbol(" == ");
        symbolEqual.setJavaSymbol(VAL_FLAG+".equals("+PARAM_FLAG+")");
        symbolEqual.setChangeSite(true);
        
        Symbol symbolNEqual = new Symbol();
        symbolNEqual.setId("HODohoch");
        symbolNEqual.setLabel(" 不等于 ");
        symbolNEqual.setName("nequal");
        symbolNEqual.setType(BaseBean.TYPE_SYMBOL);
        symbolNEqual.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolNEqual.setDrlSymbol(" != ");
        symbolNEqual.setJavaSymbol("!"+VAL_FLAG+".equals("+PARAM_FLAG+")");
        symbolNEqual.setChangeSite(true);
        
//		Symbol symbolGreat = new Symbol();
//		symbolGreat.setId("GRDgroch");
//		symbolGreat.setLabel(" 大于 ");
//		symbolGreat.setName("great");
//		symbolGreat.setType(BaseBean.TYPE_SYMBOL);
//		symbolGreat.setSymType(SymbolGuide.SYMTYP_STRING);
//		symbolGreat.setDrlSymbol(" > ");
//
//		Symbol symbolLittle = new Symbol();
//		symbolLittle.setId("LtLthoch");
//		symbolLittle.setLabel(" 小于 ");
//		symbolLittle.setName("little");
//		symbolLittle.setType(BaseBean.TYPE_SYMBOL);
//		symbolLittle.setSymType(SymbolGuide.SYMTYP_STRING);
//		symbolLittle.setDrlSymbol(" < ");
//		
//		Symbol symbolRegular = new Symbol();
//		symbolRegular.setId("JO76uphO");
//		symbolRegular.setLabel(" 匹配 ");
//		symbolRegular.setName("regular");
//		symbolRegular.setType(BaseBean.TYPE_SYMBOL);
//		symbolRegular.setSymType(SymbolGuide.SYMTYP_STRING);
//		symbolRegular.setDrlSymbol(" ~= ");
//		
//		Symbol symbolAdd = new Symbol();
//		symbolAdd.setId("JO79uphO");
//		symbolAdd.setLabel(" + ");
//		symbolAdd.setName("add");
//		symbolAdd.setType(BaseBean.TYPE_SYMBOL);
//		symbolAdd.setSymType(SymbolGuide.SYMTYP_STRING);
//		symbolAdd.setDrlSymbol(" + ");

        Symbol symbolNotCon = new Symbol();
        symbolNotCon.setId("JO76uphnot");
        symbolNotCon.setLabel(" 不包含 ");
        symbolNotCon.setName("not contains");
        symbolNotCon.setType(BaseBean.TYPE_SYMBOL);
        symbolNotCon.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolNotCon.setDrlSymbol(" not contains ");
        symbolNotCon.setJavaSymbol("!"+PARAM_FLAG+".contains("+VAL_FLAG+")");
        symbolNotCon.setChangeSite(true);
        
        Symbol symbolStartxx = new Symbol();
        symbolStartxx.setId("JO79uphO");
        symbolStartxx.setLabel(" 以xxx开头 ");
        symbolStartxx.setName("startsWith");
        symbolStartxx.setType(BaseBean.TYPE_SYMBOL);
        symbolStartxx.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolStartxx.setDrlSymbol(".startsWith");
        symbolStartxx.setJavaSymbol(PARAM_FLAG+".startsWith("+VAL_FLAG+")");
        symbolStartxx.setChangeSite(true);
        
        Symbol symbolEnd = new Symbol();
        symbolEnd.setId("JO79uphend");
        symbolEnd.setLabel(" 以xxx结尾 ");
        symbolEnd.setName("endsWith");
        symbolEnd.setType(BaseBean.TYPE_SYMBOL);
        symbolEnd.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolEnd.setDrlSymbol(".endsWith");
        symbolEnd.setJavaSymbol(PARAM_FLAG+".endsWith("+VAL_FLAG+")");
        symbolEnd.setChangeSite(true);
        
        Symbol symbolPlus = new Symbol();
        symbolPlus.setId("pebqFwsH");
        symbolPlus.setLabel(" + ");
        symbolPlus.setName("plus");
        symbolPlus.setType(BaseBean.TYPE_SYMBOL);
        symbolPlus.setSymType(SymbolGuide.SYMTYP_STRING);
        symbolPlus.setDrlSymbol(" + ");
        symbolPlus.setJavaSymbol(" + ");
        symbolPlus.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolNotCon);
        list.add(symbolContains);
        list.add(symbolNEqual);
        list.add(symbolEqual);
        list.add(symbolStartxx);
        list.add(symbolEnd);
        list.add(symbolPlus);


        return list;

    }

    public static List<Symbol> initsetv() {
        Symbol symbolSetValue = new Symbol();
        symbolSetValue.setId("TwB6VRJy");
        symbolSetValue.setLabel(" = ");
        symbolSetValue.setName("setValue");
        symbolSetValue.setType(BaseBean.TYPE_SYMBOL);
        symbolSetValue.setSymType(SymbolGuide.SYMTYP_SETVALUE);
        symbolSetValue.setDrlSymbol(" ::= ");
        symbolSetValue.setJavaSymbol(" = ");
        symbolSetValue.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolSetValue);
        return list;

    }

    public static List<Symbol> initmhlg() {
        //数学逻辑 ==  != <  > <=  >=
        Symbol symbolEqual = new Symbol();
        symbolEqual.setId("vAJ2tbMB");
        symbolEqual.setLabel(" 等于 ");
        symbolEqual.setName("equal");
        symbolEqual.setType(BaseBean.TYPE_SYMBOL);
        symbolEqual.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolEqual.setDrlSymbol(" == ");
        symbolEqual.setJavaSymbol(" == ");
        symbolEqual.setChangeSite(false);
        
        Symbol symbolNEqual = new Symbol();
        symbolNEqual.setId("5KBiXVlH");
        symbolNEqual.setLabel(" 不等于 ");
        symbolNEqual.setName("nequal");
        symbolNEqual.setType(BaseBean.TYPE_SYMBOL);
        symbolNEqual.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolNEqual.setDrlSymbol(" != ");
        symbolNEqual.setJavaSymbol(" != ");
        symbolNEqual.setChangeSite(false);
        
        Symbol symbolLittle = new Symbol();
        symbolLittle.setId("uAcrSmMg");
        symbolLittle.setLabel(" 小于 ");
        symbolLittle.setName("little");
        symbolLittle.setType(BaseBean.TYPE_SYMBOL);
        symbolLittle.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolLittle.setDrlSymbol(" < ");
        symbolLittle.setJavaSymbol(" < ");
        symbolNEqual.setChangeSite(false);
        
        Symbol symbolGreate = new Symbol();
        symbolGreate.setId("qAbbURGa");
        symbolGreate.setLabel(" 大于 ");
        symbolGreate.setName("greate");
        symbolGreate.setType(BaseBean.TYPE_SYMBOL);
        symbolGreate.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolGreate.setDrlSymbol(" > ");
        symbolGreate.setJavaSymbol(" > ");
        symbolNEqual.setChangeSite(false);
        
        Symbol symbolLtEl = new Symbol();
        symbolLtEl.setId("SMEuQ8JU");
        symbolLtEl.setLabel(" 小等于 ");
        symbolLtEl.setName("ltel");
        symbolLtEl.setType(BaseBean.TYPE_SYMBOL);
        symbolLtEl.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolLtEl.setDrlSymbol(" <= ");
        symbolLtEl.setJavaSymbol(" <= ");
        symbolLtEl.setChangeSite(false);
        
        Symbol symbolGtEl = new Symbol();
        symbolGtEl.setId("lHlKcru6");
        symbolGtEl.setLabel(" 大等于 ");
        symbolGtEl.setName("gtel");
        symbolGtEl.setType(BaseBean.TYPE_SYMBOL);
        symbolGtEl.setSymType(SymbolGuide.SYMTYP_METHLOGI);
        symbolGtEl.setDrlSymbol(" >= ");
        symbolGtEl.setJavaSymbol(" >= ");
        symbolGtEl.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolLtEl);
        list.add(symbolGtEl);
        list.add(symbolNEqual);
        list.add(symbolEqual);
        list.add(symbolLittle);
        list.add(symbolGreate);

        return list;

    }

    public static List<Symbol> initdate() {
        //日期==  != <  > <=  >=
        Symbol symbolEqual = new Symbol();
        symbolEqual.setId("vAJ2tbMB");
        symbolEqual.setLabel(" 等于 ");
        symbolEqual.setName("equal");
        symbolEqual.setType(BaseBean.TYPE_SYMBOL);
        symbolEqual.setSymType(SymbolGuide.SYMTYP_DATE);
        symbolEqual.setDrlSymbol(" == ");
        symbolEqual.setJavaSymbol(VAL_FLAG+".equals("+PARAM_FLAG+")");
        symbolEqual.setChangeSite(true);
        
        Symbol symbolLittle = new Symbol();
        symbolLittle.setId("uAcrSmMg");
        symbolLittle.setLabel(" 小于 ");
        symbolLittle.setName("little");
        symbolLittle.setType(BaseBean.TYPE_SYMBOL);
        symbolLittle.setSymType(SymbolGuide.SYMTYP_DATE);
        symbolLittle.setDrlSymbol(" < ");
        symbolLittle.setJavaSymbol(VAL_FLAG+".compareTo("+PARAM_FLAG+") < 0");
        symbolLittle.setChangeSite(true);
        
        Symbol symbolGreate = new Symbol();
        symbolGreate.setId("qAbbURGa");
        symbolGreate.setLabel(" 大于 ");
        symbolGreate.setName("greate");
        symbolGreate.setType(BaseBean.TYPE_SYMBOL);
        symbolGreate.setSymType(SymbolGuide.SYMTYP_DATE);
        symbolGreate.setDrlSymbol(" > ");
        symbolGreate.setJavaSymbol(VAL_FLAG+".compareTo("+PARAM_FLAG+") > 0");
        symbolGreate.setChangeSite(true);
        
        Symbol symbolLtEl = new Symbol();
        symbolLtEl.setId("SMEuQ8JU");
        symbolLtEl.setLabel(" 小等于 ");
        symbolLtEl.setName("ltel");
        symbolLtEl.setType(BaseBean.TYPE_SYMBOL);
        symbolLtEl.setSymType(SymbolGuide.SYMTYP_DATE);
        symbolLtEl.setDrlSymbol(" <= ");
        symbolLtEl.setJavaSymbol(VAL_FLAG+".compareTo("+PARAM_FLAG+") <= 0");
        symbolLtEl.setChangeSite(true);
        
        Symbol symbolGtEl = new Symbol();
        symbolGtEl.setId("lHlKcru6");
        symbolGtEl.setLabel(" 大等于 ");
        symbolGtEl.setName("gtel");
        symbolGtEl.setType(BaseBean.TYPE_SYMBOL);
        symbolGtEl.setSymType(SymbolGuide.SYMTYP_DATE);
        symbolGtEl.setDrlSymbol(" >= ");
        symbolGtEl.setJavaSymbol(VAL_FLAG+".compareTo("+PARAM_FLAG+") >= 0");
        symbolGtEl.setChangeSite(true);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolLtEl);
        list.add(symbolGtEl);
        list.add(symbolEqual);
        list.add(symbolLittle);
        list.add(symbolGreate);

        return list;

    }

    // 列举存在操作
    public static List<Symbol> initColl() {
        //plus | - | minus | * | times | / | div | divided by | mod
        //String plus = ": + :plus:sym:meth: + ";
        Symbol symbolCollIn = new Symbol();
        symbolCollIn.setId("pebInwsH");
        symbolCollIn.setLabel(" In ");
        symbolCollIn.setName("In");
        //symbolCollIn.setType(BaseBean.TYPE_DOMAIN);
        symbolCollIn.setType(BaseBean.TYPE_SYMBOL);
        symbolCollIn.setSymType(SymbolGuide.SYMTYP_CollExist);
        symbolCollIn.setDrlSymbol(" in ");
        symbolCollIn.setJavaSymbol("Arrays.asList("+VAL_FLAG+").contains("+PARAM_FLAG+")");
        symbolCollIn.setChangeSite(true);
        
        Symbol symbolCollNotIn = new Symbol();
        symbolCollNotIn.setId("pNoInwsH");
        symbolCollNotIn.setLabel(" NotIn ");
        symbolCollNotIn.setName("NotIn");
        //symbolCollNotIn.setType(BaseBean.TYPE_DOMAIN);
        symbolCollNotIn.setType(BaseBean.TYPE_SYMBOL);
        symbolCollNotIn.setSymType(SymbolGuide.SYMTYP_CollExist);
        symbolCollNotIn.setDrlSymbol(" not in ");
        symbolCollNotIn.setJavaSymbol("!Arrays.asList("+VAL_FLAG+").contains("+PARAM_FLAG+")");
        symbolCollNotIn.setChangeSite(true);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolCollNotIn);
        list.add(symbolCollIn);


        return list;//JSON.toJSONString(list);

    }

    //list对象的插入操作
    public static List<Symbol> initlist() {
        Symbol symbolInsert = new Symbol();
        symbolInsert.setId("lLiscrt6");
        symbolInsert.setLabel(" Add ");
        symbolInsert.setName("insert");
        symbolInsert.setType(BaseBean.TYPE_SYMBOL);
        symbolInsert.setSymType(SymbolGuide.SYMTYP_LIST);
        symbolInsert.setDrlSymbol("@@=");//分割标记
        symbolInsert.setJavaSymbol(PARAM_FLAG+".add("+VAL_FLAG+")");
        symbolInsert.setChangeSite(false);
        
        Symbol symbolequal = new Symbol();
        symbolequal.setId("lLiscrt7");
        symbolequal.setLabel(" = ");
        symbolequal.setName(" setValue ");
        symbolequal.setType(BaseBean.TYPE_SYMBOL);
        symbolequal.setSymType(SymbolGuide.SYMTYP_LIST);
        symbolequal.setDrlSymbol("::=");//分割标记
        symbolequal.setJavaSymbol("::=");
        symbolequal.setChangeSite(false);
        
        List<Symbol> list = new ArrayList<Symbol>();
        list.add(symbolInsert);
        list.add(symbolequal);
        return list;
    }

    public static void main(String[] args) {
        System.out.println(initSymbolGuide());
    }
}
